Modern computing systems often utilize large-scale and/or complex software systems. Typical examples of these software systems include operating systems, application servers, and other complex software applications. A key factor in developing and successfully marketing a complex software application is maintaining the quality of that application through a process of quality control. This typically includes tracking and fixing any inconsistencies, faults, or “bugs” that arise in the software code during the development process. In most companies the quality control activity is the responsibility of a Quality Assurance (QA) team. Software fault analysis is often one of the more costly endeavors of the QA cycle of a product, both in terms of human and machine resources. Particularly on large and complex software products defects can take hours or days to track down, often requiring 30%-40% of the QA teams efforts. Any system which can be used to speed up the bug identification and resolution process can lead to great improvements in development time and produce economic efficiencies for the company.